home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #1 / Amiga Plus 1995 #1.iso / fish-disketten / fish_811-820 / d811 / bsh / pr < prev    next >
Text File  |  1994-12-13  |  1KB  |  33 lines

  1. local j i nl each pad tmp num=0 a[999] across=0 IFS="\n" ml
  2. if #argv>1
  3.     if left(argv[1],1)=='-'
  4.     across=right(argv[1],strlen(argv[1])-1)
  5.     endif
  6. endif
  7. while num<999;read a[$num];if eof(0);break;endif;num++;endwhile
  8. if across==0
  9.     i=0,ml=0
  10.     repeat num 'if (j=strlen(a[i]))>ml;ml=j;endif;i++'
  11.     across=max(1,(width+2)/(ml+2))
  12. endif
  13. each=(width+2)/across,nl=(num+across-1)/across,i=0
  14. pad=left("                                           ",each)
  15. while i<nl
  16.     j=i++
  17.     repeat (num-j-1)/nl 'tmp=left(cat(a[j],pad),each);echo -n "$tmp";j+=nl'
  18.     echo $a[$j]
  19. endwhile
  20. return
  21. ##    pr - a program to print things in columns.  This is just a toy
  22. #    version of the real pr program; it can only handle 999 items and
  23. #    has no options other than the number of columns.  Pr gets its
  24. #    input from the standard-input and writes to standard-output.
  25. #    pr [-ncol]
  26. #
  27. #    The code for pr is highly compressed to improve speed (interpretive
  28. #    execution speed is dependent on the size of the source).
  29. # Pr is presented as is; no warrantee is either expressed or implied
  30. # as to it's suitability to any purpose whatsoever.  You assume all the
  31. # risk for all damage, even if caused by a defect in the software,
  32. # no matter how awful.
  33.